/* Copyright (c) 2013, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */


/* QPNP controlled regulators: */

&spmi_bus {
	qcom,pma8084@1 {
		pma8084_s1: regulator@1400 {
			regulator-min-microvolt = <1050000>;
			regulator-max-microvolt = <1050000>;
			qcom,enable-time = <500>;
			qcom,pull-down-enable = <1>;
			regulator-always-on;
			qcom,system-load = <100000>;
			status = "okay";
		};

		/* PMA8084 S2 + S12 = 2 phase VDD_CX supply */
		pma8084_s2: regulator@1700 {
			regulator-min-microvolt = <1050000>;
			regulator-max-microvolt = <1050000>;
			qcom,enable-time = <500>;
			qcom,pull-down-enable = <1>;
			regulator-always-on;
			qcom,system-load = <100000>;
			status = "okay";
		};

		pma8084_s3: regulator@1a00 {
			regulator-min-microvolt = <1300000>;
			regulator-max-microvolt = <1300000>;
			qcom,enable-time = <500>;
			qcom,pull-down-enable = <1>;
			regulator-always-on;
			qcom,system-load = <100000>;
			status = "okay";
		};

		pma8084_s4: regulator@1d00 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,enable-time = <500>;
			qcom,pull-down-enable = <1>;
			regulator-always-on;
			qcom,system-load = <100000>;
			status = "okay";
		};

		pma8084_s5: regulator@2000 {
			regulator-min-microvolt = <2150000>;
			regulator-max-microvolt = <2150000>;
			qcom,enable-time = <500>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		/* PMA8084 S6 + S7 = 2 phase VDD_GFX supply */
		pma8084_s6: regulator@2300 {
			regulator-min-microvolt = <815000>;
			regulator-max-microvolt = <900000>;
			qcom,enable-time = <500>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		/* PMA8084 S8 + S9 + S10 + S11 = 4 phase VDD_APC supply */
		pma8084_s8: regulator@2900 {
			regulator-min-microvolt = <500000>;
			regulator-max-microvolt = <1100000>;
			qcom,enable-time = <500>;
			qcom,pull-down-enable = <1>;
			regulator-always-on;
			qcom,system-load = <100000>;
			status = "okay";
		};

		/* Output of PMA8084 L1 and L11 is tied together. */
		pma8084_l1: regulator@4000 {
			parent-supply = <&pma8084_s3>;
			regulator-min-microvolt = <1225000>;
			regulator-max-microvolt = <1225000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			regulator-always-on;
			qcom,system-load = <10000>;
			status = "okay";
		};

		pma8084_l2: regulator@4100 {
			parent-supply = <&pma8084_s3>;
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l3: regulator@4200 {
			parent-supply = <&pma8084_s3>;
			regulator-min-microvolt = <1225000>;
			regulator-max-microvolt = <1225000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l4: regulator@4300 {
			parent-supply = <&pma8084_s3>;
			regulator-min-microvolt = <1000000>;
			regulator-max-microvolt = <1000000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l6: regulator@4500 {
			parent-supply = <&pma8084_s5>;
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l8: regulator@4700 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l9: regulator@4800 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l10: regulator@4900 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l12: regulator@4b00 {
			parent-supply = <&pma8084_s5>;
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l13: regulator@4c00 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2950000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l14: regulator@4d00 {
			parent-supply = <&pma8084_s5>;
			regulator-min-microvolt = <1225000>;
			regulator-max-microvolt = <1225000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l15: regulator@4e00 {
			parent-supply = <&pma8084_s5>;
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l16: regulator@4f00 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l17: regulator@5000 {
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l18: regulator@5100 {
			regulator-min-microvolt = <2850000>;
			regulator-max-microvolt = <2850000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l19: regulator@5200 {
			regulator-min-microvolt = <2950000>;
			regulator-max-microvolt = <2950000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l20: regulator@5300 {
			regulator-min-microvolt = <2950000>;
			regulator-max-microvolt = <2950000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l21: regulator@5400 {
			regulator-min-microvolt = <2950000>;
			regulator-max-microvolt = <2950000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l22: regulator@5500 {
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3000000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l23: regulator@5600 {
			regulator-min-microvolt = <2700000>;
			regulator-max-microvolt = <2700000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l24: regulator@5700 {
			regulator-min-microvolt = <3075000>;
			regulator-max-microvolt = <3075000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l25: regulator@5800 {
			regulator-min-microvolt = <2100000>;
			regulator-max-microvolt = <2100000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l26: regulator@5900 {
			parent-supply = <&pma8084_s5>;
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_l27: regulator@5a00 {
			parent-supply = <&pma8084_s3>;
			regulator-min-microvolt = <1050000>;
			regulator-max-microvolt = <1050000>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_lvs1: regulator@8000 {
			parent-supply = <&pma8084_s4>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_lvs2: regulator@8100 {
			parent-supply = <&pma8084_s4>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_lvs3: regulator@8200 {
			parent-supply = <&pma8084_s4>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_lvs4: regulator@8300 {
			parent-supply = <&pma8084_s4>;
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};

		pma8084_mvs1: regulator@8400 {
			qcom,enable-time = <200>;
			qcom,pull-down-enable = <1>;
			status = "okay";
		};
	};
};

&rpm_bus {
	rpm-regulator-smpa1 {
		compatible = "qcom,rpm-regulator-smd-resource";
		qcom,resource-name = "smpa";
		qcom,resource-id = <1>;
		qcom,regulator-type = <1>;
		qcom,hpm-min-load = <100000>;

		pma8084_s1_ao: regulator-s1-ao {
			compatible = "qcom,rpm-regulator-smd";
			regulator-name = "8084_s1_ao";
			qcom,set = <1>;
			regulator-min-microvolt = <675000>;
			regulator-max-microvolt = <1050000>;
		};
	};

	rpm-regulator-smpa2 {
		compatible = "qcom,rpm-regulator-smd-resource";
		qcom,resource-name = "smpa";
		qcom,resource-id = <2>;
		qcom,regulator-type = <1>;
		qcom,hpm-min-load = <100000>;

		pma8084_s2_corner: regulator-s2-corner {
			compatible = "qcom,rpm-regulator-smd";
			regulator-name = "8084_s2_corner";
			qcom,set = <3>;
			regulator-min-microvolt = <1>;
			regulator-max-microvolt = <7>;
			qcom,use-voltage-corner;
			qcom,consumer-supplies = "vdd_dig", "";
		};

		pma8084_s2_corner_ao: regulator-s2-corner-ao {
			compatible = "qcom,rpm-regulator-smd";
			regulator-name = "8084_s2_corner_ao";
			qcom,set = <1>;
			regulator-min-microvolt = <1>;
			regulator-max-microvolt = <7>;
			qcom,use-voltage-corner;
		};
	};

	rpm-regulator-ldoa12 {
		compatible = "qcom,rpm-regulator-smd-resource";
		qcom,resource-name = "ldoa";
		qcom,resource-id = <12>;
		qcom,regulator-type = <0>;
		qcom,hpm-min-load = <10000>;

		pma8084_l12_ao: regulator-l12-ao {
			compatible = "qcom,rpm-regulator-smd";
			regulator-name = "8084_l12_ao";
			qcom,set = <1>;
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};
	};
};
